From: Jonas Dreßler Date: Fri, 19 Jun 2020 08:10:21 +0000 (+0200) Subject: windowPreview: Fix a division by zero X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~215 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=87e4bf52b7c067c6af5dad00b61b43e65289a627;p=gnome-shell.git windowPreview: Fix a division by zero When the bounding box size is 0 during allocation (which happens right after creating a window for example), we're doing a division by zero and end up with a NaN scale. This ends up making the childBox NaN, which triggers an error in Clutters allocation machinery. So fix that and fall back to a scale of 1 in case the bounding box is empty. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1320 --- diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js index 842a4c515..b7fc5efa5 100644 --- a/js/ui/windowPreview.js +++ b/js/ui/windowPreview.js @@ -67,8 +67,12 @@ var WindowPreviewLayout = GObject.registerClass({ vfunc_allocate(container, box) { // If the scale isn't 1, we weren't allocated our preferred size // and have to scale the children allocations accordingly. - const scaleX = box.get_width() / this._boundingBox.get_width(); - const scaleY = box.get_height() / this._boundingBox.get_height(); + const scaleX = this._boundingBox.get_width() > 0 + ? box.get_width() / this._boundingBox.get_width() + : 1; + const scaleY = this._boundingBox.get_height() > 0 + ? box.get_height() / this._boundingBox.get_height() + : 1; const childBox = new Clutter.ActorBox();